﻿using CoachingOrganizer.ClientInfrastructure.ServicesEntities.LocalStorage.Tools;
using CoachingOrganizer.Toolkit.Events;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CoachingOrganizer.ClientInfrastructure.ServicesEntities.LocalStorage
{
    public interface IGoalInfo
    {
        IEnumerable<IToolInfo> ToolsInfo { get; }

        string Title { get; set; }

        string Description { get; set; }

        string ExpectedResultVolume { get; set; }

        ActionResult Remove();

        ActionResult Save();

        ActionResult LoadTools();

        ActionResult<TToolInfo> AddNewTool<TToolInfo>(Action<TToolInfo> initCallback) where TToolInfo : IToolInfo;
    }
}
